1. Field of the Invention
The present invention relates to communication networks and, more particularly, to a method and apparatus for defining failover events in a network device.
2. Description of the Related Art
Data communication networks may include various computers, servers, nodes, routers, switches, hubs, proxies, and other network devices coupled to and configured to pass data to one another. These various network elements will be referred to herein as “network devices.” Data is communicated through the data communication network by passing data packets (or data cells or segments) between the network devices by utilizing one or more communication links between the devices. A particular packet may be handled by multiple network devices and cross multiple communication links as it travels between its source and its destination over the network.
A particular physical network device may be logically partitioned into multiple logical network devices to facilitate network management and increase the number and types of services offered by that network device. For example, a router may be partitioned into multiple virtual routers, each of which is a collection of threads, either static or dynamic, that provides routing and forwarding services much like physical routers. A virtual router need not be a separate operating system process (although it could be); it simply has to provide the illusion that a dedicated router is available to satisfy the needs of the network(s) to which it is connected.
As data networks have grown in complexity and speed, the network devices used in those networks have likewise increased in complexity and speed. Unfortunately, this complexity provides manifest opportunities for the network to fail. To increase the reliability of the network, networks are designed such that in the event of a failure of a network device or link, an alternate network device or link may be used until a repair can be made to the failed element. This notion will be referred to herein as “redundancy.”
As services offered over networks become increasingly complex, for example layer 2 and layer 3 virtual private networks (VPNs) are deployed, and virtual private LAN segment (VPLS) services are made available, redundancy becomes increasingly important, and also increasingly difficult. Specifically, the redundant network devices must share information as to the types of tunnels, etc. that are being set up, so that in the event of failure of one network device another network device can continue to offer these specialized services. The process undertaken by the network device(s) to exchange responsibility for provision of services will be referred to herein as failover.
The various network devices on the communications network communicate with each other using predefined sets of rules, referred to herein as protocols. Different protocols are used to govern different aspects of the communication, such as how signals should be formed for transmission between network devices, various aspects of what the data packets should look like, and how packets should be handled by the network devices.
One particular protocol, known as Virtual Router Redundancy Protocol (VRRP), specifies an election protocol for use in a broadcast domain, such as an Ethernet domain, that dynamically assigns responsibility for a virtual router to one of the physical VRRP routers on a local area network. This allows any of the virtual router IP (internet protocol) addresses on the local area network (LAN) to be used as the default first hop router by end-hosts. VRRP is described in greater detail in Internet Engineering Task Force (IETF) Request For Comments (RFC) 2338, the content of which is hereby incorporated herein by reference in its entirety.
VRRP normally permits two or more routers to share state information so that one of the routers can function as a “hot standby” for the other. It is combined with a “keep alive” mechanism such that when the standby router detects a failure of the primary, it is able to then impersonate the primary router during failover. One advantage gained by using VRRP is a higher availability default party without requiring configuration of dynamic routing or router discovery protocols on the end hosts.
The events that trigger failover are limited in VRRP. Specifically, VRRP is designed to deal with a single point of failure and only provides failover of a particular router or virtual router when that particular router is experiencing failure. Unfortunately, this does not account for other conditions under which a network manager may desire to effect failover.
One conventional system (the Bay RS available from Nortel Networks) attempted to rectify some of the shortcomings of VRRP. Specifically, this system enabled the network manager to effect failover of the master in the event a designated IP address went down. While this provides a good first step to enabling failover control, it does not enable a network manager to account for the myriad possible failures in current and envisioned networks.